@startuml
participant "Application\nCode" as A

skinparam Participant {
  RoundCorner 10

  BackgroundColor<<LLMRails>> 76b900
  FontColor<<LLMRails>> white
  BorderColor<<LLMRails>> green
}


participant "Programmable\nGuardrails" as LLMRails <<LLMRails>>
participant "Input\nRails" as IR <<LLMRails>>
participant Actions
participant "LLM"


Activate A
A->LLMRails: <<USER MESSAGE>>
activate LLMRails

LLMRails->IR: <<USER MESSAGE>>
activate IR

IR->Actions: execute self_check_input
activate Actions

Actions->LLM: TaskPrompt [self_check_input]
activate LLM
return "No"

return True

return Continue

LLMRails->LLM: TaskPrompt [general]
activate LLM
return <<BOT MESSAGE >>

return #green <<BOT MESSAGE>>


hide footbox
hide stereotype
scale 2
@enduml
